The present invention relates generally to communication systems, and more particularly to a method for limiting the number of simultaneous call forwarding attempts in a cellular system.
In cellular communication systems, a mobile unit registers with a host wireless system. The host wireless system provides service to the mobile unit while the mobile unit is within the coverage area of the host wireless system.
The mobile unit can roam to a visited wireless system. Roaming refers to a mobile unit being serviced by a wireless system that is not its home wireless system.
When a call comes in for a mobile unit, the call request is routed to the host wireless system. If the mobile unit is not active at the host wireless system, the host wireless system sends a location request to a Service Control Point (SCP). The SCP is coupled to the Home Location Register (HLR), which is a database that contains information relating to the mobile units in the communication system. The HLR could also be an integrated HLR on a Mobile Switching Center (MSC).
The SCP typically responds to the location request with a return message that includes a call forwarding number and an indicator. The indicator gives the status of the mobile unit, and the call forwarding number is the number to which the MSC should direct the incoming call. For example, if the indicator indicates that the mobile unit is out of service, the call forwarding number may be the directory number of the user""s voice mail box. In this manner, the MSC will route the call to the forwarding number, which in this example is the user""s voice mail.
Problems can arise when the MSC tries to forward a plurality of calls simultaneously. The simultaneous call forwarding can bog down the system and consume multiple system resources. This can occur, for instance, when a user is being called by many users substantially simultaneously. For example, if a phone-in-contest is announced on a radio station, tens or even hundreds of calls can be made to the call in number substantially simultaneously. In this scenario, the MSC will send a location request to the HLR. Since the phone will be busy once it picks up the first call, the HLR will return an indicator of busy with a predetermined forwarding number, which may be a voice mail box. If tens or hundreds of calls are arriving, the number of call forwarding attempts will increase dramatically, which could inundate the system, making it unusable for other users until the call forwarding attempts are completely dealt with.
Another example of a problem situation can arise when a first mobile unit has forwarded calls to a second mobile unit, which has forwarded its calls to the first mobile unit. In this scenario, when the first and second mobile units are not responding to calls, a call that comes in for the first mobile unit will be sent by the MSC to the HLR. The HLR will send back a location return request message to the MSC with an indicator that the first mobile unit is not responding, and with a forwarding number of the second mobile unit. The MSC will then forward the call to the second mobile unit. The HLR will return a location return request message to the MSC of the second mobile unit with an indicator that the mobile unit cannot be reached and a forwarding number of the first mobile unit. The MSC will then forward the call back to the mobile unit. This process, an endless recursive loop, could conceivably continue until all system resources are utilized.
Therefore, a need exists for a method for limiting the number of simultaneous call forwarding attempts for a mobile unit in a cellular communication system.
It is an object of the present invention to provide a method for limiting the number of simultaneous call forwarding attempts for a mobile unit. As used herein, the term simultaneous call forwarding attempts refers to concurrent call forwarding attempts for a mobile user, such that one or more call forwarding attempts are active for the mobile user at the same time. When a call comes in for a mobile unit, the MSC associated with the mobile unit at the host wireless system sends a location request message to a Service Control Point (SCP). The SCP checks a Home Location Registry (HLR) for the status of the mobile unit. The SCP sends a location return result message to the MSC. The location return result message includes an indicator of the status of the mobile unit and a forwarding number.
In accordance with the present invention, the MSC will check whether it should forward the call. The MSC will determine how many simultaneous call forwarding attempts are presently associated with this mobile unit.
If the number of simultaneous call forwarding attempts exceeds a threshold, the MSC will not forward the call.
The threshold can be either predetermined or dynamic. In the predetermined case, a threshold value is set for the mobile unit. This can be done by the user of the mobile unit at registration, or can be determined by the system administrator. In the dynamic case, the system sets the threshold based upon the current or estimated system utilization.